Componentwise Program Construction: The Equivalent Transformation Computation Model versus the Logic Programming Model
نویسندگان
چکیده
In the equivalent transformation (ET) computation model, a program is a set of procedural rewriting rules for answer-preserving transformation of problems with respect to given background knowledge. In this paper, we discuss an approach to program construction by creating and accumulating individually correct and efficient program components one by one, referred to as componentwise program construction. Basic requirements for componentwise program construction are identified, based on which we show that the ET model possesses several desirable properties for this program construction approach, in particular, compared with the logic programming model. In addition, we compare the expressive power of program components in the ET model and that of components in the logic programming model by viewing computation in the latter model as problem transformation using only one specific class of rewriting rules, i.e., single-head general unfolding-based rules, and then demonstrating that a larger class of rules is needed for effective computation. Key–Words: Componentwise program construction, Equivalent transformation, Rule-based computation, Program synthesis, Rewriting rules, Computation paradigm
منابع مشابه
A Theoretical Foundation of Program Synthesis by Equivalent Transformation
Equivalent transformation ET is useful for synthesis and transformation of programs However it is not so clear what seman tics should be preserved in synthesis and transformation of programs in logic and functional programming which come from the disagreement of computation models inference or evaluation and equivalent transfor mation To overcome the di culty we adopt a new computation model ca...
متن کاملThe Squeeze Method: A Method for Program Construction in the Equivalent Transformation Computation Model
In the equivalent transformation (ET) computation model, a specification provides background knowledge in a problem domain, a program is a set of prioritized rewriting rules, and computation consists in successive reduction of problems by rule application. As long as meaning-preserving rewriting rules, called ET rules, with respect to given background knowledge are used, correct computation res...
متن کاملModeling Answer Constraints in Constraint Logic Programs
The constraint logic programming paradigm CLP(X) (CLP for short) has been proposed by Jaaar and Lassez in order to integrate a generic computational mechanism based on constraints with the logic programming framework. This paradigm retains the semantic properties of logic languages, namely the existence of equivalent operational, model theo-retic and xpoint semantics. Moreover, since computatio...
متن کاملA Foundation of a Theory of Software Evolution based on the Equivalent Transformation Model
One of the most important problems of software evolution is to develop a technique of generating new programs with small costs when the specification is changed [4]. Let S be a specification and P a program. Assume that we denote S ` P iff P satisfies S. The problem of software evolution is to find (efficient) P2 such that S2 ` P2 (with small costs) when given specifications S1 and S2, and a pr...
متن کاملStatic Semantics as Program Transformation and Well-founded Computation
In this paper, we propose a new constructive characterization of those semantics for disjunctive logic programs which are extensions of the well-founded semantics for normal programs. Based on considerations about how disjunctive information is treated by a given semantics, we divide the computation of that semantics into two phases. The first one is a program transformation phase, which applie...
متن کامل